SigRec: Automatic Recovery of Function Signatures in Smart Contracts

نویسندگان

چکیده

Millions of smart contracts have been deployed onto Ethereum for providing various services, whose functions can be invoked. For this purpose, the caller needs to know function signature a callee, which includes its id and parameter types. Such signatures are critical many applications focusing on contracts, e.g., reverse engineering, fuzzing, attack detection, profiling. Unfortunately, it is challenging recover from contract bytecode, since neither debug information nor type present in bytecode. To address issue, prior approaches rely source code, or collection known incomplete databases heuristic rules, which, however, far adequate cannot cope with rapid growth new contracts. In paper, we propose novel solution that leverages how handled by virtual machine (EVM) automatically signatures. particular, exploit determine invoked locate extract ids, approach named type-aware symbolic execution (TASE) utilizes semantics EVM operations parameters identify number types parameters. Moreover, develop SigRec, tool recovering bytecode without need code databases. The extensive experimental results show SigRec outperforms all existing tools, achieving an unprecedented 98.7 percent accuracy within 0.074 seconds. We further demonstrate recovered useful fuzzing engineering

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

‏‎interpersonal function of language in subtitling

‏‎translation as a comunicative process is always said to be associated with various aspects of meaning loss or gain. subtitling as a mode of translating, due to special discoursal and textual conditions imposed upon it, is believed to be an obvious case of this loss or gain. presenting the spoken sound track of a film in writing and synchronizing the perception of this text by the viewers with...

15 صفحه اول

Quantitative Analysis of Smart Contracts

Smart contracts are computer programs that are executed by a network of mutually distrusting agents, without the need of an external trusted authority. Smart contracts handle and transfer assets of considerable value (in the form of crypto-currency like Bitcoin). Hence, it is crucial that their implementation is bug-free. We identify the utility (or expected payoff) of interacting with such sma...

متن کامل

Examining the role of Smart Contracts in the development of the electronic registration system of documents

The document registration system is one of the most important instruments for guaranteeing the rights of individuals and preventing the occurrence of many disputes. In many developed countries, attempts have been made to change the system of registering transactions and documents. Thus, countries like the United States and Britain have changed the status of electronic registrations by adopting ...

متن کامل

Plasma: Scalable Autonomous Smart Contracts

Plasma is a proposed framework for incentivized and enforced execution of smart contracts which is scalable to a significant amount of state updates per second (potentially billions) enabling the blockchain to be able to represent a significant amount of decentralized financial applications worldwide. These smart contracts are incentivized to continue operation autonomously via network transact...

متن کامل

Adding Concurrency to Smart Contracts

Modern cryptocurrency systems, such as Ethereum, permit complex financial transactions through scripts called smart contracts. These smart contracts are executed many, many times, always without real concurrency. First, all smart contracts are serially executed by miners before appending them to the blockchain. Later, those contracts are serially re-executed by validators to verify that the sma...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: IEEE Transactions on Software Engineering

سال: 2022

ISSN: ['0098-5589', '1939-3520', '2326-3881']

DOI: https://doi.org/10.1109/tse.2021.3078342